package cn.xeblog.plugin.mode;

/**
 * 上下文模式
 *
 * @author anlingyi
 * @date 2020/9/1
 */
public class ModeContext {

  /**
   * 模式（默认，浑水摸鱼）
   */
  private static Mode mode = ModeEnum.DEFAULT;

  static {
    // 初始化样式
    mode.init();
  }

  /**
   * 获取模式
   *
   * @return 模式对象
   */
  public static Mode getMode() {
    return mode;
  }

  /**
   * 设置模式
   *
   * @return 模式对象
   */
  public static void setMode(Mode mode) {
    if (mode == null) {
      return;
    }

    // 切换模式重新初始化对应模式的样式
    ModeContext.mode = mode;
    mode.init();
  }
}
